1. Field of the Invention
The present invention relates to a method of programming a flash memory device, and more specifically, to a method of programming a flash memory device in which the reliability of a program operation and a uniform threshold voltage characteristic after the program operation can be obtained.
2. Discussion of Related Art
A flash memory device is a storage device for storing data and has a characteristic that data are retained without being eased although the supply of power is stopped. For this reason, the flash memory device has been used as a data storage device of electronic products such as mobile phones, PDAs, and MP3 players. There is a trend that the demand for flash memory devices rapidly increases.
Generally, the flash memory device is largely classified into a NOR-type flash memory device and a NAND-type flash memory device. They are common in that data are stored through a program operation and are erased through an erase operation. At this time, if the program operation is performed, a threshold voltage of a flash memory cell rises. On the contrary, if the erase operation is carried out, the threshold voltage of the flash memory cell lowers. For example, in the NAND-type flash memory device, if the program operation is performed, the threshold voltage of the flash memory cell is increased higher than 0V. If the erase operation is performed, the threshold voltage is lowered lower than 0V.
Meanwhile, data stored in the memory cell can be confirmed through a read operation.
As such, the NOR-type flash memory device and the NAND-type flash memory device have the same basic operation. Although they have the same operation, operating voltages applied to flash memory cells have different levels. Hereinafter, for convenience of explanation, a case where the program operation is performed in the NAND-type flash memory device will be described in detail.
FIG. 1 is a flowchart illustrating steps embodying a method of programming a flash memory device in the related art.
Referring to FIG. 1, the method of programming the flash memory device in the related art includes a data input step (S110), a program operation step (S120), a program verify step (S130), a program operation re-execution step (S140), and a program verify re-execution step (S150). These steps will be described below in detail.
In the data input step (S110), data to be stored in a memory cell are input to a memory device. To be more specific, the data are stored in latch means included in a page buffer of the flash memory device. The page buffer is an element included in the NAND-type flash memory device and is well known in the art. Detailed description on the construction and operation of the page buffer will be omitted.
In the program operation step (S120), the data stored in the page buffer are stored in the memory cell. At this time, in the case of the NAND-type flash memory device, the program operation is performed on a page basis and a threshold voltage of the programmed memory cell is higher than 0V. In the same manner, how the program operation is performed on a page basis is well known in the art. Detailed description thereof will be omitted. Meanwhile, the program operation is performed with data stored in the memory cell being all erased. It is common that the erase operation is usually performed before the program operation.
In the program verify step (S130), whether the data are normally stored in the memory cell by means of the program operation is verified. At this time, the verify operation compares the threshold voltage of the programmed memory cell and a compare voltage (e.g., 1V). If the threshold voltage of the programmed memory cell is higher than the compare voltage, it is determined that the program operation has been successfully performed.
To the contrary, if the threshold voltage of the programmed memory cell is lower than the compare voltage, it is determined that the program operation has not been successfully performed. If the program operation of the entire memory cells is normally performed (or has been successful), the program operation ends.
In the program operation re-execution step (S140), the program operation is performed again on memory cells on which the program operation has not been normally performed (or has not been successfully performed).
In the program verify re-execution step (S150), whether data have been normally stored in memory cells on which the program operation is performed again is verified.
If the program operation of the entire memory cells has been normally performed, the program operation is completed. If not, the program operation re-execution step (S140) and the program verify re-execution step (S150) are repeatedly performed until the program operation of the entire memory cells is normally completed.
The aforementioned program operation is not again performed on the memory cell on which the operation is normally performed. Therefore, there exist memory cells which have a threshold voltage higher than a target voltage but may not be sufficiently high for the memory cells that are normally programmed. In this case, if the threshold voltage is varied as times goes or due to the influence of the operation of peripheral memory cells, the threshold voltage can become lower than the target voltage and data stored in the memory cell can be changed. Furthermore, a threshold voltage of memory cells on which several program operations are performed becomes sufficiently higher than a target voltage. Therefore, there is a disadvantage in that the level of an overall threshold voltage becomes irregular. Due to this, there is a problem in that the reliability of the program operation is lowered.